#include "led.h"
#include "gd32e23x.h"

void LEDInit(void)
{
	rcu_periph_clock_enable(RCU_GPIOA);
	
	gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_5);
	gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_5);
	
	gpio_bit_set(GPIOA, GPIO_PIN_5);
}

void LEDOn(void)
{
	gpio_bit_reset(GPIOA, GPIO_PIN_5);
}

void LEDOff(void)
{
	gpio_bit_set(GPIOA, GPIO_PIN_5);
}

void LEDToggle(void)
{
	if (gpio_output_bit_get(GPIOA, GPIO_PIN_5) == SET) {
		gpio_bit_reset(GPIOA, GPIO_PIN_5);
	}
	else {
		gpio_bit_set(GPIOA, GPIO_PIN_5);
	}
}
